草庐IT

Java TLS-PSK 套接字

全部标签

c++ - 使用 shared_ptr c++ boost tcp 套接字

我正在尝试使用C++中的新类来包装boostTCP。当我直接调用boost函数时,一切都很顺利。但是,当关闭包装在类函数中时,我无法调用套接字关闭。请帮忙看看下面的代码。类定义:typedefboost::shared_ptrSocket;classTCPConnector{public:boolisConnected;Socketsock;stringip;intport;TCPConnector(stringip,intport);voidClose();boolConnect();};功能:TCPConnector::TCPConnector(stringip,intport):

c套接字文件传输

首先让我说这是一项家庭作业,我不是C程序员。我已经为此工作了好几天,但我被困住了。我已经从头到尾阅读了beej指南,并且已经在谷歌上搜索了一个星期,是时候寻求帮助了。我有一个按预期发送和接收消息的客户端-服务器TCP套接字应用程序,现在我需要实现简单的文件上传/下载功能。下面的代码几乎可以工作,但它在复制文件的开头添加了4个字节,两个不可打印的字符后跟\00\00,客户端不再响应。客户端使用select命令通过非阻塞套接字连接。我知道还有很大的改进空间,但有人可以帮助我开始吗?//服务器voidput(intsockfd,char*localfile){//GetfileSizeFIL

c# - 在基于 .NET 4.5 的游戏服务器上使用套接字的最佳实践?

我正在使用C#开发一个相对较小的射击游戏项目,该项目必须以体素block的形式发送map数据,以及玩家移动数据、战斗数据和future可能的其他内容。我已经决定使用protobuf-net对服务器和客户端之间的数据进行序列化/反序列化,但我不知道应该以何种方式发送数据包。examplegivenbyprotobuf-net使用TcpListener.BeginAcceptTcpClient但警告该示例绝不是最佳实践。我的目标是在单个服务器上支持至少30个用户,但当然我更愿意增加到64个,同时不会变得太慢以至于射击游戏甚至远程实用。我应该如何建立TCP连接和处理数据包?

c# - 套接字异常 (0x80004005) : An existing connection was forcibly closed by the remote host

希望有人可以帮助解决这个异常(exception)。我们的客户端应用程序最多可以生成3个服务器应用程序(新进程)并通过TCP与每个应用程序进行通信。这些在出现提示时又生成一个jvm(服务器应用程序本质上是一个通过共享内存与jvm通信的包装器)。当我将每个jvm上的内存设置为大约25gb(我有8gbram)时,它不会运行3个服务器应用程序中的任何一个并抛出上述异常。当我将它设置为10gb时,它将运行其中一个,但在我尝试启动第二个jvm时抛出该异常。当我尝试启动jvm(在它进行第一次java调用之前打印日志语句)时似乎发生了异常,但是此异常仅在客户端捕获。我想知道这是否是服务器端的stac

Java TCP/IP 套接字发送字节对齐的数据

我很难通过套接字发送字节对齐的数据,因为我一直遵循的示例使用PrintWriter类将所有内容转换为字符串表示形式。我想发送3个带有页眉和页脚的浮点值。这样消费者就知道每次传输要读取多少字节。我的客户发送如下内容://Addaheader:floattype=params[0];if(type==TransmitService.ACC_TYPE)out.print('a');elseif(type==TransmitService.GYR_TYPE)out.print('g');elseout.print('u');//unknown-wtf?hasn'thappenedyetbutj

sockets - 套接字发送/接收的单独线程?

我正在权衡如何实现基于TCP的服务器(在C中)-服务器将接受来自客户端的连接,接收来自客户端的命令,然后发送响应。非常简单的事情-但命令的处理必须由系统中的另一个线程完成,这会引入一些并发性。所以我试图决定是在一个线程中处理所有TCP通信,使用非阻塞套接字和select(),还是使用阻塞套接字和两个单独的通信线程(一个用于发送,一个用于接收)。我对后者的关注是处理套接字同步-如果我关闭发送线程中的套接字,接收线程中会发生什么(反之亦然)..以及如何处理这个问题并以正确的方式清理。如有任何建议,我们将不胜感激。 最佳答案 您不需要为客

heroku - 使用 Ruppell 的套接字插件在 Heroku 上托管 TCP 服务器时出现 "Connection closed by foreign host"错误

我正在尝试在Heroku上托管一个简单的TCP服务器。我正在使用Ruppell'sSocketsHerokuaddon.我的Procfile看起来像这样:web:bundleexecrubyweb.rb-e"production"-p$PORTsocket:./lib/sockets-connect/rs-connruby./tcpserver.rbtcpserver.rb看起来像这样:require'eventmachine'moduleEchoServerdefpost_initputs"--someoneconnectedtotheechoserver!"enddefreceiv

c# - TCP 套接字服务器 - 一种检测传入数据的方法

我正在尝试编写一个服务器,它将监听一个端口,接受传入的客户端连接,然后将该客户端连接放入堆栈中以等待future的消息到达。理想情况下,当消息到达时,我想触发一个事件,然后允许服务器执行操作。我已经写了几乎所有这些......我正在使用AcceptTCPClient()来实际获取一个新的客户端连接,这很好。然后我创建一个线程,将套接字传递给一个保存客户端状态和其他一些数据的类。然而,我能想到的阻止并等待该线程上future传入连接的唯一方法是调用NetworkStream.Read()之类的东西,然后阻塞直到字节到达。所以这里是根本问题-我正在使用Protobuff-net,它允许我反

sockets - 使用 Boost.Asio 可以同时运行哪些套接字发送/接收操作

我知道可以在TCP和UDP套接字上同时运行async_send和async_receive操作。但是在这些情况下预期的行为是什么:在UDP套接字上同时调用两个async_send操作。在UDP套接字上同时调用两个async_receive操作。在TCP套接字上同时调用两个async_send操作。在TCP套接字上同时调用两个async_receive操作。我主要对第一种情况感兴趣;因为UDP不一定保留发送数据包的顺序,所以我不太关心它们的发送顺序是否与调用async_send的顺序不同。 最佳答案 如果没有BoostASIO,同样的

Python 套接字服务器不会握手

问题我正在尝试使用SocketServer随Python一起提供,但我在握手阶段遇到了一些问题。只要我使用localhost或127.0.0.1,握手就可以正常工作。但是,当我输入eth0卡的IP时,它不会握手。我测试官方示例代码foundhere:importSocketServerclassMyTCPHandler(SocketServer.BaseRequestHandler):defhandle(self):self.data=self.request.recv(1024).strip()print"{}wrote:".format(self.client_address[0]